package com.atguigu.acl.mapper;

import com.atguigu.acl.entity.AdminRole;
import com.atguigu.acl.entity.Permission;
import com.atguigu.acl.entity.Resource;
import com.atguigu.acl.entity.Role;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author smday
 * @since 2020-08-10
 */
public interface AdminRoleMapper extends BaseMapper<AdminRole> {

    /**
     * 得到resource相关的adminId
     */
    List<Long> getAdminList(Long resourceId);

    /**
     * 获取用户所有的resource
     */
    List<Resource> getResourceList(Long adminId);

    /**
     * 获取用户的角色列表
     */
    List<Role> getRoleList(Long adminId);

    /**
     * 批量插入用户角色关系
     */
    int insertList(@Param("list") List<AdminRole> adminRoleList);

    /**
     * 获取用户所有权限(包括+-权限)
     */
    List<Permission> getPermissionList(Long adminId);

    /**
     * 获取用户所有角色的权限
     */
    List<Permission> getRolePermissionList(Long adminId);
}
